package com.sprouting.ops.model;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 部署信息表-组件和组件;(OpsDeploy)(OPS_DEPLOY) 表实体类
 *
 * @author ：lx（长沙麓谷）
 * @date 创建时间：2025-06-29 22:18:44
 */
@Data
@TableName("ops_deploy")
public class OpsDeploy extends BaseModel {

    /**
     * 主键
     */
    @TableId
    private String id;
    /**
     * 隶属场所
     * @see OpsSite#getId()
     */
    private String siteId;
    /**
     * 计算机id
     * @see OpsComputerServer#getId()
     */
    private String computerServerId;
    /**
     * 部署基础位置
     */
    private String basePath;
    /**
     * 启动和关闭方式
     */
    private String startEnd;
    /**
     * 部署过程
     */
    private String deployProcess;
    /**
     * 验证方式
     */
    private String verification;
    /**
     * 使用网络端口，可以多个,多个使用英文逗号分隔
     */
    private String ports;
    /**
     * 部署人
     */
    private String deployUser;
    /**
     * 部署时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
    private Date deployTime;
    /**
     * 备份目录
     */
    private String bakPath;
    /**
     * 类型，应用、组件
     * @see com.sprouting.ops.interfaces.ConstantBase.OpsDeployType
     */
    private Integer type;
    /**
     * 应用tag-应用
     * 当是应用的时候就可能会有值
     */
    private String tag;
    /**
     * 应用分支-应用
     * @see OpsAppBranch#getId()
     */
    private String appBranchId;
    /**
     * 应用ID-应用
     * @see OpsApp#getId()
     */
    private String appId;
    /**
     * 组件版本id-组件
     * @see OpsComponentVersion#getId()
     */
    private String componentVersionId;
    /**
     * 隶属组件-组件
     * @see OpsComponent#getId()
     */
    private String componentId;

}
